Cách xoá file/folder có tên chứa kí tự đặc biệt trên Linux
Làm thế nào để xoá file/folder có tên chứa kí tự đặc biệt trên Linux? Bài viết hôm nay sẽ giới thiệu tới bạn 4 cách hữu hiệu giúp loại bỏ ký tự đặc biệt trên các file này.
Các kí tự đặc biệt trong tên file/folder khiến lỗi phát sinh:
- –
- —
- \
- ;
- &
- $
- ?
- *
- >
- <
- Khoảng trắng
Nguyên nhân
Nguyên nhân tại sao bạn không thể xoá các file có kí tự đặc biệt trong tên. Đơn giản là vì shell trên Linux nhận diện các kí tự đặc biệt như là một cú pháp câu lệnh. Nên khi bạn thực hiện xoá/copy các file có tên kí tự đặc biệt thì sẽ phát sinh lỗi. Ví dụ# touch '>file' # rm >file rm: missing operand
Cách hỗ trợ việc xoá file có tên kí tự đặc biệt trên Linux
Cách 1: Đặt tên file trong dấu nháy đơn
Dấu nháy đơn (‘..’) khi được dùng để bao bọc tên file có kí tự đặc biệt sẽ bỏ qua các giá trị đại diện sử dụng trong cái tên của file tập tin.# rm -v '>file' rm: remove regular empty file `>file'? y removed `>file'
Cách 2: Sử dụng dấu (\) – backslash
Bạn chỉ cần thêm dấu (\) trước các kí tự đặc biệt trong tên file.# touch '$file' # rm "\$file" rm: remove regular empty file `$file'? y
# touch 'vi du khoang trang.txt' # rm vi\ du\ khoang\ trang.txt rm: remove regular empty file `vi du khoang trang.txt'? y
Cách 3: Sử dụng dấu (./) trước tên file
# rm -v ./-file removed `./-file'Khi đặt dấu (./) trước tên file thì rm sẽ không kiểm tra các kí tự đặc biệt trong tên có phải là option lệnh rm hay không.
Cách 4: Đặt dấu (–) trước tên file
Khi bạn đặt kí tự (–) trước tên của của file trên Linux, thì ‘—‘ được xem như 1 tín hiệu báo cho OS ngưng xem xét các kí tự đặc biệt đằng sau sử dụng như một biến/kí tự xử lý bởi shell. Bất kì tên, kí tự hậu tố sau ‘—‘ sẽ được xem là tên file.# rm -v -- -file # rm -v -- --file # rm -v -- "@#$%^&file" # rmdir -v -- "--dirnameHere"Chúc bạn xoá file/folder có tên chứa kí tự đặc biệt trên Linux thành công! Nguồn: cuongquach